program main
    implicit none
    integer:: a=1,b=2
    integer, external :: add        ! 声明add是一个函数
    integer :: ret
    ret = add(a,b)
    ! write(*, "(I1)") add(a,b)
    write(*, "(I1)") ret
end program main


function add(first, second)
    implicit none                    ! 在内部还要禁用默认变量类型规则
    integer :: first, second         ! 在内部还要声明变量类型

    ! 不能写成 integer :: add = first + second
    integer :: add 
    add = first + second
    return                           
end